package org.easymodelers.template;

import org.eclipse.emf.ecore.EFactory;
import org.eclipse.emf.ecore.EObject;

public class NamespaceData {
	private String name;
	private String identifier;
	private EFactory factory;
	private EObject rootEObject;
	private boolean currentModel;
	private String[] enumPackages;
	private boolean nameBasedComparison;
	
	public NamespaceData(String name, String identifier, EFactory factory) {
		this(name, identifier, factory, null, new String[0], false);
	}

	public NamespaceData(String name, String identifier,
									EFactory factory, EObject rootEObject) {
		this(name, identifier, factory, rootEObject, new String[0], false);
	}

	public NamespaceData(String name, String identifier, EFactory factory,
									EObject rootEObject, boolean nameBasedComparison) {
		this(name, identifier, factory, rootEObject, new String[0], nameBasedComparison);
	}

	public NamespaceData(String name, String identifier, EFactory factory,
									EObject rootEObject, String[] enumPackages) {
		this(name, identifier, factory, rootEObject, enumPackages, false);
	}

	public NamespaceData(String name, String identifier, EFactory factory,
									EObject rootEObject, String[] enumPackages,
									boolean nameBasedComparison) {
		this.name = name;
		this.identifier = identifier;
		this.factory = factory;
		this.rootEObject = rootEObject;
		this.enumPackages = enumPackages;
		this.nameBasedComparison = nameBasedComparison;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getIdentifier() {
		return identifier;
	}

	public void setIdentifier(String identifier) {
		this.identifier = identifier;
	}

	public boolean isCurrentModel() {
		return currentModel;
	}

	public void setCurrentModel(boolean currentModel) {
		this.currentModel = currentModel;
	}

	public EFactory getFactory() {
		return factory;
	}

	public void setFactory(EFactory factory) {
		this.factory = factory;
	}

	public EObject getRootEObject() {
		return rootEObject;
	}

	public void setRootEObject(EObject rootEObject) {
		this.rootEObject = rootEObject;
	}

	public String[] getEnumPackages() {
		return enumPackages;
	}

	public void setEnumPackages(String[] enumPackages) {
		this.enumPackages = enumPackages;
	}

	public boolean isNameBasedComparison() {
		return nameBasedComparison;
	}

	public void setNameBasedComparison(boolean nameBasedComparison) {
		this.nameBasedComparison = nameBasedComparison;
	}

}
